class Scheduler:
    def __init__(self, cpu):
        self.pcbsListos = []
        self.cpu = cpu 
        
        
    def agregarPcb(self, pcb, programData):
        self.pcbsListos.append(pcb)
        
    def runPcb(self):
        if(len(self.pcbsListos) > 0):
            pcb = self.pcbsListos.pop()
            pcb.estado = 'running'
            self.cpu.executeProc(pcb)
        
    def getPcbsListos(self):
        return self.pcbsListos
    
    def reanudarPCB(self, pcb):
        pcb.estado = 'ready'
        self.agregarPcb(pcb,None)
        
    def next(self):
        self.runPcb()